﻿/*!
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

namespace Pittypat
{
    /// <summary>
    /// 向 <see cref="IAuthorityService"/> 提供当前系统的系统令牌。
    /// </summary>
    /// <remarks>
    /// <para>如果当前系统使用了来自其他系统的登录、注销、权限检查等安全验证服务（authorityService 配置的 <see cref="IAuthorityService"/>），则当前系统可能访问其他系统时需要提供一个系统令牌来标识当前系统。也就是 <see cref="IAuthorityService"/> 接口方法中使用的系统令牌。</para>
    /// <para>配置文件中 <see cref="ISystemTokenProvider"/> 的类型信息配置在 pittypat/systemTokenProvider 属性中。</para>
    /// </remarks>
    public interface ISystemTokenProvider
    {
        /// <summary>
        /// 获取当前系统的系统令牌。
        /// </summary>
        /// <returns>当前系统的系统令牌。</returns>
        string GetSystemToken();
    }
}
